//
//  main.c
//  11 chapter
//
//  Created by edz on 2020/7/2.
//  Copyright © 2020 edz. All rights reserved.
//

#include <stdio.h>


#if 0
// 练习11-1
int main(void)
{
    char *p = "123";
    printf("p = \"%s\"\n", p);
    p = "456" + 1;      // 跳过第0个元素 从第一个元素开始赋值
    printf("p = \"%s\"\n", p);

    return 0;
}
#endif


#if 0
// 练习11-3
/*--- 将字符串复制从 s 到 d ---*/
char *str_copy(char *d, const char *s) {
    char *t = d;

    while ((*d++ = *s++));

    return t;
}

int main(void) {
    char str[128] = "ABC";
    char tmp[128];
    printf("str = \"%s\"\n", str);

    printf("复制的是：");
    scanf("%s", tmp);

   // str_copy(str, tmp);

    puts("复制了");

    printf("str = \"%s\"\n", str_copy(str, tmp));

    return 0;
}
#endif


#if 0
// 练习11-5
int str_chnum(const char *s, int c){
    int count=0;
    while (*s) {
        if (*s == c) {
            count++;
        }
        s++;
    }
    return count;
}

int main (void)
{
    char c = 'l';
    char *s = "helloworld";
    
    printf("%d\n",str_chnum(s, c));
    
    return 0;
}
#endif



#if 0
// 练习11-7
/*
对字符串中的英文字符进行大小写转换
*/
#include <ctype.h>

/*将字符串中的英文字符转为大写字母*/
void str_toupper(char* s)
{
    while (*s) {
        *s = toupper(*s);
        s++;
    }
}

/*将字符串中的英文字符转为小写字母*/
void str_tolower(char* s)
{
    while (*s) {
        *s = tolower(*s);
        s++;
    }
}

int main(void)
{
    char str[128];

    printf("请输入字符串：");
    scanf("%s", str);

    str_toupper(str);
    printf("大写字母：%s\n", str);

    str_tolower(str);
    printf("小写字母：%s\n", str);

    return 0;
}
#endif

